from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response


class PageNum(PageNumberPagination):
    page_size = 5 # 后默认每页显示数量
    # 用户指定分页参数 查询参数中可以指定每页防多少条数据
    page_size_query_param = "pagesize"
    max_page_size = 10
    # 重写分页返回方法，按照指定的字段进行分页数据返回
    def get_paginated_response(self, data):
        return Response({
            "counts":self.page.paginator.count,  # 总数量
            "lists":data,   # 当前页数据
            "page":self.page.number ,  #当前页
            'pages': self.page.paginator.num_pages,  # 总页数
            'pagesize': self.page_size  # 后端指定的页容量

        })